"use client"; // 标记为 Client Component

import React, { useEffect, useState } from 'react'; // 导入 useState 钩子
import { useRouter } from 'next/navigation';
import { useSearchParams } from 'next/navigation'; // 引入 useSearchParams 钩子
import { weixinAuthApi } from '@/service/common'

const NewPage = () => {
    const router = useRouter(); // 在组件顶层调用 useRouter
    const searchParams = useSearchParams(); // 使用 useSearchParams 获取查询参数
    const [message, setMessage] = useState<string>("正在校验权限，请稍候..."); // 初始状态  

    // 定义获取Token的函数
    const getToken = async () => {
        // 假设这里有一个异步操作来获取token，例如通过fetch请求
        try {
            const paramValue  = searchParams.get('code'); // 使用 searchParams.get 来获取查询参数
            console.log('查询参数:', paramValue);
            let console_token = '1';
            let refresh_token = '2';
            const ret = await weixinAuthApi(paramValue)
            if (ret.result === 'success') {
                console_token = ret.data.access_token
                refresh_token = ret.data.refresh_token
                localStorage.setItem('console_token', console_token);
                localStorage.setItem('refresh_token', refresh_token);
                router.replace('/apps'); // 使用 router 进行跳转
                console.log('开始跳转');
            }else{
                setMessage("权限校验不通过，如需申请权限请联系IT")
            }
        } catch (error) {
            setMessage("权限校验不通过，如需申请权限请联系IT")
        }

        // 为了示例，我们直接使用固定的token值


    };
    // 页面加载完成后立即执行获取Token的函数
    useEffect(() => {
        getToken();
    }, [router]); // 将 router 添加到依赖数组中

    return (
        <div>
            <h1>{message}</h1>
        </div>
    );
};

export default NewPage;